'''
paramiko模块：
    作用：实现ssh 远程连接

安装：
>pip install paramiko

'''


import paramiko

#执行远程命令 示例

def sshtest():

    #1.创建ssh客户端
    ssh_client = paramiko.SSHClient()

    #2. 连接远程服务器
    #这一步相当于连接ssh时需要密钥的输出Y
    ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy)
    ssh_client.connect(hostname="192.168.106.133",username="root",password="123",port=22)

    #3. 执行操作
    # 会返回三个值为 标准输入， 标准输出，标准错误输出
    stdin,stdout,stderr = ssh_client.exec_command("ip a s ens33")
    result1 = stdout.read().decode("UTF-8")


    print(result1)

    #关闭连接
    ssh_client.close()

#上传下载文件
def sshget():
    #1.建立ssh连接
    ssh_conn = paramiko.Transport(("192.168.106.133",22))# 以元组的方式写ip与端口
    ssh_conn.connect(username="root",password="123")
    #2. 基于ssh连接创建ftp客户端工具
    sftp = paramiko.SFTPClient.from_transport(ssh_conn)
    #3.上传文件
    sftp.get("D:\python\work-test\数据类型\生成随机字符串.py","/opt")

    #4.关闭连接
    sftp.close()
    ssh_conn.close()
if __name__ == '__main__':
    sshtest()